#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>

typedef int SLDataType;

//定义顺序表的数据结构
typedef struct SeqList
{
        SLDataType* arr;
        int size;
        int capacity;
}SL;

//顺序表初始化
void SLInit(SL* ps);

//扩容
void SLCheckCapacity(SL* ps);

//顺序表的打印
void SLPrint(SL s);

//头插
void SLPushFront(SL* ps, SLDataType x);

//尾插
void SLPushBack(SL* ps, SLDataType x);

//指定位置插入
void SLInsert(SL* ps, int pos, SLDataType x);

//头删
void SLPopFront(SL* ps);

//尾删
void SLPopBack(SL* ps);

//指定位置删除
void SLErase(SL* ps ,int pos);

//顺序表的查找
int SLFind(SL* ps, SLDataType x);

// 顺序表的销毁
void SLDestroy(SL *ps);